// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const db = cloud.database()
  const addresses = db.collection('addresses')
  const openid = wxContext.OPENID

  if (!event.id) {
    return { code: 400, msg: '缺少 id 参数' }
  }

  try {
    // 仅删除当前用户自己的地址，防止越权
    const res = await addresses.where({ _id: event.id, _openid: openid }).remove()
    // res.stats.removed 在云数据库操作返回中表示删除条数
    if (res.stats && res.stats.removed > 0) {
      return { code: 0, msg: '删除成功' }
    } else {
      return { code: 404, msg: '未找到地址或没有权限删除' }
    }
  } catch (err) {
    return { code: 500, msg: err.message }
  }
}
